/**
 * TDS PEC 4
 * Grupo 3H2M
 *
 * El paquete <code>edu.uoc.tds.pec4.server.bbdd.exceptions</code> agrupa las 
 * excepciones que se pueden producir en la factoría de creación de objetos DAO
 */
package edu.uoc.tds.pec4.server.bbdd.exceptions;

import edu.uoc.tds.pec4.common.util.TDSLanguageUtils;

/**
 * La clase <code>DAOFactoryException</code> define las excepciones que se
 * generen en DAOFactory en lectura del fichero de propiedades y la creación
 * de objetos.<br />
 * Clase que representa las excepciones que se produzcan en DAOFactory. <br />
 * 
 * Representa las excepciones para DAOFactory 
 * 
 * @author	Luis Rodríguez-Manzaneque Sánchez
 * @version	22/11/2011
 * @since	1.00
 */
public class DAOFactoryException extends Exception {

    /**
     * Fichero de propiedades no encontrado
     */
    public static final String FILE_PROP_NOT_FOUND = TDSLanguageUtils.getMessage("bbdd.err.noencontrado");

    /**
     * Fichero no se puede leer
     */
    public static final String FILE_PROP_CAN_NOT_READ = TDSLanguageUtils.getMessage("bbdd.err.fichero");


    /**
     * Constructor de la clase.<br />
     * Construye una nueva excepcion del DAOFactory con la causa especificada.<br />
     * @param   cause La causa (la cual se guarda para su posterior recuperación por 
     *          el método #getCause()).
     */
    public DAOFactoryException(Throwable cause) {
        super(cause);
    }

    /**
     * Constructor de la clase.<br />
     * Construye una nueva excepcion del DAOFactory con la causa y el mensaje
     * de detalle especificado.<br />
     * Notar que el mensaje de detalle asociado a la causa no es incorporado 
     * automáticamente en este mensaje de la excepción de DAOFactory.
     * @param   message El mensaje de detalle The detail message (que se guarda para 
     *          su posterior recuperación por el método #getMessage()).
     * @param   cause La causa (la cual se guarda para su posterior recuperación por 
     *          el método #getCause()).
     */
    public DAOFactoryException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Construye una nueva excepcion del DAOFactory con el mensaje de detalle
     * especificado.<br />
     * La causa no es inicializada, y puede ser después inicializada mediante
     * una llamada a #initCause
     * @param   message El mensaje de detalle The detail message (que se guarda para 
     *          su posterior recuperación por el método #getMessage()).
     */
    public DAOFactoryException(String message) {
        super(message);
    }

    /**
     * Constructor de la clase.<br />
     * Constructor heredado de la clase Exception, sin parámetros. Es el caso
     * por defecto.
     */
    public DAOFactoryException() {
        super();
    }
    
}
